package cn.itcast.day05.exception02;

import java.util.Objects;

/*
   异常处理方式1:throws  -->放在方法声明上

       throws一个异常对象,抛给main方法了,如果main方法没有手动throws给jvm,那么就是自动的
       如果我们在main方法的声明上手动throws,main就不会自动给jvm了


   throws处理异常,同时处理多个异常对象


   Objects
      public static <T> T requireNonNull(T obj) {
        if (obj == null)
      	throw new NullPointerException();
        return obj;
}


 */
public class Demo01_Exception {

    public static void main(String[] args)throws /*NullPointerException,ArrayIndexOutOfBoundsException*/Exception{
        int[] arr = null;
        method01(arr);

    }

    public static void method01(int[] arr) throws /*NullPointerException,ArrayIndexOutOfBoundsException*/ Exception {
        //Objects.requireNonNull(arr);

        if (arr.length==0){
            throw new ArrayIndexOutOfBoundsException("越界了");
        }

        if (arr==null){
            throw new NullPointerException();
        }

        System.out.println("我要执行了");
    }
}
